<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Os1: ORB_SLAM2::Sim3Solver Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Os1
   &#160;<span id="projectnumber">1</span>
   </div>
   <div id="projectbrief">OrbSlam2 documentado y modificado</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,'Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('class_o_r_b___s_l_a_m2_1_1_sim3_solver.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">ORB_SLAM2::Sim3Solver Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Solucionador de transformación sim3 para cerrar bucles.  
 <a href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="_sim3_solver_8h_source.html">Sim3Solver.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for ORB_SLAM2::Sim3Solver:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="class_o_r_b___s_l_a_m2_1_1_sim3_solver__coll__graph.svg" width="1450" height="242"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a34ba62d5d8033ab12a811c241f30544b"><td class="memItemLeft" align="right" valign="top">cv::Mat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a34ba62d5d8033ab12a811c241f30544b">find</a> (std::vector&lt; bool &gt; &amp;vbInliers12, int &amp;nInliers)</td></tr>
<tr class="memdesc:a34ba62d5d8033ab12a811c241f30544b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ejecuta el número máximo de iteraciones Ransac.  <a href="#a34ba62d5d8033ab12a811c241f30544b">More...</a><br /></td></tr>
<tr class="separator:a34ba62d5d8033ab12a811c241f30544b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9cf5646f2530a074e30320ae5cf1cb4b"><td class="memItemLeft" align="right" valign="top">cv::Mat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a9cf5646f2530a074e30320ae5cf1cb4b">GetEstimatedRotation</a> ()</td></tr>
<tr class="memdesc:a9cf5646f2530a074e30320ae5cf1cb4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Obtiene la matriz rotación 3D estimada para el cierre de bucle.  <a href="#a9cf5646f2530a074e30320ae5cf1cb4b">More...</a><br /></td></tr>
<tr class="separator:a9cf5646f2530a074e30320ae5cf1cb4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3942b204d02957269bad6a00c03a1e4b"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a3942b204d02957269bad6a00c03a1e4b">GetEstimatedScale</a> ()</td></tr>
<tr class="memdesc:a3942b204d02957269bad6a00c03a1e4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Obtiene la escala de acople estimada para el cierre de bucle.  <a href="#a3942b204d02957269bad6a00c03a1e4b">More...</a><br /></td></tr>
<tr class="separator:a3942b204d02957269bad6a00c03a1e4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27f28d7708a7215279751e592a17d0d5"><td class="memItemLeft" align="right" valign="top">cv::Mat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a27f28d7708a7215279751e592a17d0d5">GetEstimatedTranslation</a> ()</td></tr>
<tr class="memdesc:a27f28d7708a7215279751e592a17d0d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Obtiene la traslación estimada para el cierre de bucle.  <a href="#a27f28d7708a7215279751e592a17d0d5">More...</a><br /></td></tr>
<tr class="separator:a27f28d7708a7215279751e592a17d0d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae07cddad85e41611bd454f8026de31a6"><td class="memItemLeft" align="right" valign="top">cv::Mat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#ae07cddad85e41611bd454f8026de31a6">iterate</a> (int nIterations, bool &amp;bNoMore, std::vector&lt; bool &gt; &amp;vbInliers, int &amp;nInliers)</td></tr>
<tr class="memdesc:ae07cddad85e41611bd454f8026de31a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ejecuta n iteraciones de Ransac.  <a href="#ae07cddad85e41611bd454f8026de31a6">More...</a><br /></td></tr>
<tr class="separator:ae07cddad85e41611bd454f8026de31a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab90d591f1b9eac3d846efd35c2c04920"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#ab90d591f1b9eac3d846efd35c2c04920">SetRansacParameters</a> (double probability=0.99, int minInliers=6, int maxIterations=300)</td></tr>
<tr class="memdesc:ab90d591f1b9eac3d846efd35c2c04920"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configuración de Ransac.  <a href="#ab90d591f1b9eac3d846efd35c2c04920">More...</a><br /></td></tr>
<tr class="separator:ab90d591f1b9eac3d846efd35c2c04920"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4825895bc1a5a74fc71cd4fbfd4f2a6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#ac4825895bc1a5a74fc71cd4fbfd4f2a6">Sim3Solver</a> (<a class="el" href="class_o_r_b___s_l_a_m2_1_1_key_frame.html">KeyFrame</a> *pKF1, <a class="el" href="class_o_r_b___s_l_a_m2_1_1_key_frame.html">KeyFrame</a> *pKF2, const std::vector&lt; <a class="el" href="class_o_r_b___s_l_a_m2_1_1_map_point.html">MapPoint</a> *&gt; &amp;vpMatched12, const bool bFixScale=true)</td></tr>
<tr class="memdesc:ac4825895bc1a5a74fc71cd4fbfd4f2a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor del solucionador sim3, a partir de dos keyframes y un vector de puntos macheados.  <a href="#ac4825895bc1a5a74fc71cd4fbfd4f2a6">More...</a><br /></td></tr>
<tr class="separator:ac4825895bc1a5a74fc71cd4fbfd4f2a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a7abb9ede799e916a5c5954c2c8da09c7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a7abb9ede799e916a5c5954c2c8da09c7">CheckInliers</a> ()</td></tr>
<tr class="memdesc:a7abb9ede799e916a5c5954c2c8da09c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Establece las marcas de inliers, reproyectando y comparando el error con un umbral.  <a href="#a7abb9ede799e916a5c5954c2c8da09c7">More...</a><br /></td></tr>
<tr class="separator:a7abb9ede799e916a5c5954c2c8da09c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad8da5d1d78fcd8d6511ad29d9cb6db5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#aad8da5d1d78fcd8d6511ad29d9cb6db5">ComputeCentroid</a> (cv::Mat &amp;P, cv::Mat &amp;Pr, cv::Mat &amp;C)</td></tr>
<tr class="separator:aad8da5d1d78fcd8d6511ad29d9cb6db5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87ee2729feee5729397c650b26927a8f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a87ee2729feee5729397c650b26927a8f">ComputeSim3</a> (cv::Mat &amp;P1, cv::Mat &amp;P2)</td></tr>
<tr class="memdesc:a87ee2729feee5729397c650b26927a8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementación de Horn 1987, para computar la transformación de similaridad.  <a href="#a87ee2729feee5729397c650b26927a8f">More...</a><br /></td></tr>
<tr class="separator:a87ee2729feee5729397c650b26927a8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbe734fae65ebb9b1c9a38ebd3bacbc3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#afbe734fae65ebb9b1c9a38ebd3bacbc3">FromCameraToImage</a> (const std::vector&lt; cv::Mat &gt; &amp;vP3Dc, std::vector&lt; cv::Mat &gt; &amp;vP2D, cv::Mat K)</td></tr>
<tr class="memdesc:afbe734fae65ebb9b1c9a38ebd3bacbc3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Proyecta puntos 3D expresados en las coordenadas de la cámara.  <a href="#afbe734fae65ebb9b1c9a38ebd3bacbc3">More...</a><br /></td></tr>
<tr class="separator:afbe734fae65ebb9b1c9a38ebd3bacbc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af44c59a21d53b04ec7f867b8291dcf25"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#af44c59a21d53b04ec7f867b8291dcf25">Project</a> (const std::vector&lt; cv::Mat &gt; &amp;vP3Dw, std::vector&lt; cv::Mat &gt; &amp;vP2D, cv::Mat Tcw, cv::Mat K)</td></tr>
<tr class="memdesc:af44c59a21d53b04ec7f867b8291dcf25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Proyecta puntos 3D expresados en coordenadas del mundo, sobre una cámara.  <a href="#af44c59a21d53b04ec7f867b8291dcf25">More...</a><br /></td></tr>
<tr class="separator:af44c59a21d53b04ec7f867b8291dcf25"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a69cf052880d6e926e11b74e1b59a05e0"><td class="memItemLeft" align="right" valign="top">cv::Mat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a69cf052880d6e926e11b74e1b59a05e0">mBestRotation</a></td></tr>
<tr class="separator:a69cf052880d6e926e11b74e1b59a05e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab10aee88f18c5a5b80aabb5c21a6489c"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#ab10aee88f18c5a5b80aabb5c21a6489c">mBestScale</a></td></tr>
<tr class="separator:ab10aee88f18c5a5b80aabb5c21a6489c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb1eeb9e1774d656c4e8c77f5fc57539"><td class="memItemLeft" align="right" valign="top">cv::Mat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#adb1eeb9e1774d656c4e8c77f5fc57539">mBestT12</a></td></tr>
<tr class="separator:adb1eeb9e1774d656c4e8c77f5fc57539"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9aca06ce2678d686a318266fe3262a0b"><td class="memItemLeft" align="right" valign="top">cv::Mat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a9aca06ce2678d686a318266fe3262a0b">mBestTranslation</a></td></tr>
<tr class="separator:a9aca06ce2678d686a318266fe3262a0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39aa9674bb73b257e0d834cbec52acce"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a39aa9674bb73b257e0d834cbec52acce">mbFixScale</a></td></tr>
<tr class="separator:a39aa9674bb73b257e0d834cbec52acce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af802b30069d1bf8d7c6236a695525a10"><td class="memItemLeft" align="right" valign="top">cv::Mat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#af802b30069d1bf8d7c6236a695525a10">mK1</a></td></tr>
<tr class="separator:af802b30069d1bf8d7c6236a695525a10"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae647640668c16a2716db73a43c812e7a"><td class="memItemLeft" align="right" valign="top">cv::Mat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#ae647640668c16a2716db73a43c812e7a">mK2</a></td></tr>
<tr class="separator:ae647640668c16a2716db73a43c812e7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a366db3149066adadf76fa4f4ecb39d50"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a366db3149066adadf76fa4f4ecb39d50">mN1</a></td></tr>
<tr class="separator:a366db3149066adadf76fa4f4ecb39d50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af19a65050bd50bcf65f7cf48683c8045"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#af19a65050bd50bcf65f7cf48683c8045">mnBestInliers</a></td></tr>
<tr class="separator:af19a65050bd50bcf65f7cf48683c8045"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc2d59150f4f6f446032cdb6bb77ee43"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#abc2d59150f4f6f446032cdb6bb77ee43">mnInliersi</a></td></tr>
<tr class="separator:abc2d59150f4f6f446032cdb6bb77ee43"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2fc877cd37c96ad164bbf36f2a6cd5e9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a2fc877cd37c96ad164bbf36f2a6cd5e9">mnIterations</a></td></tr>
<tr class="separator:a2fc877cd37c96ad164bbf36f2a6cd5e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a719501a8d39a83a81a67d7334704f42c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_key_frame.html">KeyFrame</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a719501a8d39a83a81a67d7334704f42c">mpKF1</a></td></tr>
<tr class="separator:a719501a8d39a83a81a67d7334704f42c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc8fbea249fc4397c901694b7ecbe2bf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_key_frame.html">KeyFrame</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#abc8fbea249fc4397c901694b7ecbe2bf">mpKF2</a></td></tr>
<tr class="separator:abc8fbea249fc4397c901694b7ecbe2bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc5eba1e475226a4ab7f0d0de8fc6e48"><td class="memItemLeft" align="right" valign="top">cv::Mat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#afc5eba1e475226a4ab7f0d0de8fc6e48">mR12i</a></td></tr>
<tr class="separator:afc5eba1e475226a4ab7f0d0de8fc6e48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a98e30ee1a61e81e3f864b41e56eed0f6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a98e30ee1a61e81e3f864b41e56eed0f6">mRansacMaxIts</a></td></tr>
<tr class="separator:a98e30ee1a61e81e3f864b41e56eed0f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67cd1b0b3d88691f85776f85aed0c496"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a67cd1b0b3d88691f85776f85aed0c496">mRansacMinInliers</a></td></tr>
<tr class="separator:a67cd1b0b3d88691f85776f85aed0c496"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba7cc52c8995b747eda6fbdb02e719b9"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#aba7cc52c8995b747eda6fbdb02e719b9">mRansacProb</a></td></tr>
<tr class="separator:aba7cc52c8995b747eda6fbdb02e719b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ba87aac963290a1b18172573890a50a"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a6ba87aac963290a1b18172573890a50a">ms12i</a></td></tr>
<tr class="separator:a6ba87aac963290a1b18172573890a50a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ea7da2fe7cb33526dc3fd60b556cde8"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a9ea7da2fe7cb33526dc3fd60b556cde8">mSigma2</a></td></tr>
<tr class="separator:a9ea7da2fe7cb33526dc3fd60b556cde8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7747196dceb3ef3d2dc341e7aff798aa"><td class="memItemLeft" align="right" valign="top">cv::Mat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a7747196dceb3ef3d2dc341e7aff798aa">mt12i</a></td></tr>
<tr class="separator:a7747196dceb3ef3d2dc341e7aff798aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a299a04a059df22bd4b7938a4ade791c3"><td class="memItemLeft" align="right" valign="top">cv::Mat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a299a04a059df22bd4b7938a4ade791c3">mT12i</a></td></tr>
<tr class="separator:a299a04a059df22bd4b7938a4ade791c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add3bff26c47ec9d454ea3efe92630e77"><td class="memItemLeft" align="right" valign="top">cv::Mat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#add3bff26c47ec9d454ea3efe92630e77">mT21i</a></td></tr>
<tr class="separator:add3bff26c47ec9d454ea3efe92630e77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad3d4d9b7d09902e156178987d5898625"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#ad3d4d9b7d09902e156178987d5898625">mTh</a></td></tr>
<tr class="separator:ad3d4d9b7d09902e156178987d5898625"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abcc39b417f6d09e436d39712fb2a2b11"><td class="memItemLeft" align="right" valign="top">std::vector&lt; size_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#abcc39b417f6d09e436d39712fb2a2b11">mvAllIndices</a></td></tr>
<tr class="separator:abcc39b417f6d09e436d39712fb2a2b11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2f1c6a9abd3fef76f18ab0e9665e2ea"><td class="memItemLeft" align="right" valign="top">std::vector&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#ac2f1c6a9abd3fef76f18ab0e9665e2ea">mvbBestInliers</a></td></tr>
<tr class="separator:ac2f1c6a9abd3fef76f18ab0e9665e2ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c909819990b1b62edc9aba6c7e7d94f"><td class="memItemLeft" align="right" valign="top">std::vector&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a0c909819990b1b62edc9aba6c7e7d94f">mvbInliersi</a></td></tr>
<tr class="separator:a0c909819990b1b62edc9aba6c7e7d94f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81ad716802ccd2a3761882a796a0205d"><td class="memItemLeft" align="right" valign="top">std::vector&lt; size_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a81ad716802ccd2a3761882a796a0205d">mvnIndices1</a></td></tr>
<tr class="separator:a81ad716802ccd2a3761882a796a0205d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f739ba98d0da8c39c04e9396a697443"><td class="memItemLeft" align="right" valign="top">std::vector&lt; size_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a5f739ba98d0da8c39c04e9396a697443">mvnMaxError1</a></td></tr>
<tr class="separator:a5f739ba98d0da8c39c04e9396a697443"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26ca815b24366cf32e9ce065be4ab8a7"><td class="memItemLeft" align="right" valign="top">std::vector&lt; size_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a26ca815b24366cf32e9ce065be4ab8a7">mvnMaxError2</a></td></tr>
<tr class="separator:a26ca815b24366cf32e9ce065be4ab8a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af39b00b7b87b0d240503884a927e5f5b"><td class="memItemLeft" align="right" valign="top">std::vector&lt; cv::Mat &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#af39b00b7b87b0d240503884a927e5f5b">mvP1im1</a></td></tr>
<tr class="separator:af39b00b7b87b0d240503884a927e5f5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e6a6be273522fdeeecd9fd7d3c07b9c"><td class="memItemLeft" align="right" valign="top">std::vector&lt; cv::Mat &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a8e6a6be273522fdeeecd9fd7d3c07b9c">mvP2im2</a></td></tr>
<tr class="separator:a8e6a6be273522fdeeecd9fd7d3c07b9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4ea0c3fb99c1db31b40d4f0f0bcc749"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="class_o_r_b___s_l_a_m2_1_1_map_point.html">MapPoint</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#af4ea0c3fb99c1db31b40d4f0f0bcc749">mvpMapPoints1</a></td></tr>
<tr class="separator:af4ea0c3fb99c1db31b40d4f0f0bcc749"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a752181b1c6efe5cc79b0204af7edf44b"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="class_o_r_b___s_l_a_m2_1_1_map_point.html">MapPoint</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a752181b1c6efe5cc79b0204af7edf44b">mvpMapPoints2</a></td></tr>
<tr class="separator:a752181b1c6efe5cc79b0204af7edf44b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa86f37922ef6499404aadc3b0a2526c7"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="class_o_r_b___s_l_a_m2_1_1_map_point.html">MapPoint</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#aa86f37922ef6499404aadc3b0a2526c7">mvpMatches12</a></td></tr>
<tr class="separator:aa86f37922ef6499404aadc3b0a2526c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af44092ee71f95ec084db6b0144bbfc40"><td class="memItemLeft" align="right" valign="top">std::vector&lt; size_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#af44092ee71f95ec084db6b0144bbfc40">mvSigmaSquare1</a></td></tr>
<tr class="separator:af44092ee71f95ec084db6b0144bbfc40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd96d2f2d32f1cda0e709c5b704f1f7b"><td class="memItemLeft" align="right" valign="top">std::vector&lt; size_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#afd96d2f2d32f1cda0e709c5b704f1f7b">mvSigmaSquare2</a></td></tr>
<tr class="separator:afd96d2f2d32f1cda0e709c5b704f1f7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9674b6ca24874c387ebd38b9f1a4560a"><td class="memItemLeft" align="right" valign="top">std::vector&lt; cv::Mat &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a9674b6ca24874c387ebd38b9f1a4560a">mvX3Dc1</a></td></tr>
<tr class="separator:a9674b6ca24874c387ebd38b9f1a4560a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa91dd6da039c45e15d7713eae0c60b7"><td class="memItemLeft" align="right" valign="top">std::vector&lt; cv::Mat &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#afa91dd6da039c45e15d7713eae0c60b7">mvX3Dc2</a></td></tr>
<tr class="separator:afa91dd6da039c45e15d7713eae0c60b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8081f9438c71d5cdf9fc2aacf985136c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a8081f9438c71d5cdf9fc2aacf985136c">N</a></td></tr>
<tr class="separator:a8081f9438c71d5cdf9fc2aacf985136c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Solucionador de transformación sim3 para cerrar bucles. </p>
<p>Para dos keyframes, presenta la transformación sim3 (rotación, traslación y escala) que mejor explica las poses. También indica si no encontró una buena explicación.</p>
<p>Esta clase se instancia exclusivamente en <a class="el" href="class_o_r_b___s_l_a_m2_1_1_loop_closing.html#ab4fcf814eed5b5dd2aec96454561b078" title="Procesa la lista de candidatos intentando corregir su pose. ">LoopClosing::ComputeSim3()</a>, en este contexto: Cuando se detecta la posibilidad de cierre de bucles, varios keyframes se presentan como candidatos. Se crea un solucionador sim3 para evaluar la calidad del cierre propuesto por cada keyframe candidato. Se utilizan los métodos:</p><ul>
<li>SetRansacParameters</li>
<li>iterate</li>
<li>GetEstimatedRotation</li>
<li>GetEstimatedTranslation</li>
<li>GetEstimatedScale</li>
</ul>
<p>Se inicializa el solucionador con los parámetros RANSAC, se lo ejecuta con iterate, y luego se evalúa rotación, traslación y escala resultante. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="ac4825895bc1a5a74fc71cd4fbfd4f2a6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ORB_SLAM2::Sim3Solver::Sim3Solver </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_key_frame.html">KeyFrame</a> *&#160;</td>
          <td class="paramname"><em>pKF1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_key_frame.html">KeyFrame</a> *&#160;</td>
          <td class="paramname"><em>pKF2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="class_o_r_b___s_l_a_m2_1_1_map_point.html">MapPoint</a> *&gt; &amp;&#160;</td>
          <td class="paramname"><em>vpMatched12</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const bool&#160;</td>
          <td class="paramname"><em>bFixScale</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor del solucionador sim3, a partir de dos keyframes y un vector de puntos macheados. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pKF1</td><td>Un keyframe extremo a cerrar en bucle. Se usa el keyframe actual. </td></tr>
    <tr><td class="paramname">pKF2</td><td>Otro keyframe extremo a cerrar en bucle. Se usa el keyframe detectado, el del otro extremo. </td></tr>
    <tr><td class="paramname">vpMatched12</td><td>Vector de puntos del mapa que se observan en ambos keyframes, sobre los que se aplicará la transformación de similaridad. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a7abb9ede799e916a5c5954c2c8da09c7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ORB_SLAM2::Sim3Solver::CheckInliers </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Establece las marcas de inliers, reproyectando y comparando el error con un umbral. </p>

</div>
</div>
<a id="aad8da5d1d78fcd8d6511ad29d9cb6db5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ORB_SLAM2::Sim3Solver::ComputeCentroid </td>
          <td>(</td>
          <td class="paramtype">cv::Mat &amp;&#160;</td>
          <td class="paramname"><em>P</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">cv::Mat &amp;&#160;</td>
          <td class="paramname"><em>Pr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">cv::Mat &amp;&#160;</td>
          <td class="paramname"><em>C</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a87ee2729feee5729397c650b26927a8f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ORB_SLAM2::Sim3Solver::ComputeSim3 </td>
          <td>(</td>
          <td class="paramtype">cv::Mat &amp;&#160;</td>
          <td class="paramname"><em>P1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">cv::Mat &amp;&#160;</td>
          <td class="paramname"><em>P2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implementación de Horn 1987, para computar la transformación de similaridad. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">P1</td><td></td></tr>
    <tr><td class="paramname">P2</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a34ba62d5d8033ab12a811c241f30544b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">cv::Mat ORB_SLAM2::Sim3Solver::find </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; bool &gt; &amp;&#160;</td>
          <td class="paramname"><em>vbInliers12</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&#160;</td>
          <td class="paramname"><em>nInliers</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Ejecuta el número máximo de iteraciones Ransac. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">vbInliers</td><td>Resultado, marca la posición de los elementos inliers encontrados. </td></tr>
    <tr><td class="paramname">nInliers</td><td>Restulado, cantidad de inliers encontrados. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pose de la relocalización, o una matriz vacía si no falla.</dd></dl>
<p>No utilizado en orb-slam2. En su lugar se usa Sim3solver::iterate. </p>

</div>
</div>
<a id="afbe734fae65ebb9b1c9a38ebd3bacbc3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ORB_SLAM2::Sim3Solver::FromCameraToImage </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; cv::Mat &gt; &amp;&#160;</td>
          <td class="paramname"><em>vP3Dc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; cv::Mat &gt; &amp;&#160;</td>
          <td class="paramname"><em>vP2D</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">cv::Mat&#160;</td>
          <td class="paramname"><em>K</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Proyecta puntos 3D expresados en las coordenadas de la cámara. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">vP3Dw</td><td>Puntos 3D a proyectar. </td></tr>
    <tr><td class="paramname">vP2D</td><td>Resultado, proyecciones 2D de los puntos 3D. </td></tr>
    <tr><td class="paramname">K</td><td>Matriz intrínseca de la cámara.</td></tr>
  </table>
  </dd>
</dl>
<p>Invocado sólo desde el constructor. </p>

</div>
</div>
<a id="a9cf5646f2530a074e30320ae5cf1cb4b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">cv::Mat ORB_SLAM2::Sim3Solver::GetEstimatedRotation </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Obtiene la matriz rotación 3D estimada para el cierre de bucle. </p>
<dl class="section return"><dt>Returns</dt><dd>Matriz de rotación 3D, de 3x3. </dd></dl>

</div>
</div>
<a id="a3942b204d02957269bad6a00c03a1e4b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float ORB_SLAM2::Sim3Solver::GetEstimatedScale </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Obtiene la escala de acople estimada para el cierre de bucle. </p>
<dl class="section return"><dt>Returns</dt><dd>Factor de escala para el cierre de bucle. </dd></dl>

</div>
</div>
<a id="a27f28d7708a7215279751e592a17d0d5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">cv::Mat ORB_SLAM2::Sim3Solver::GetEstimatedTranslation </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Obtiene la traslación estimada para el cierre de bucle. </p>
<dl class="section return"><dt>Returns</dt><dd>Vector traslación 3d, de 3x1. </dd></dl>

</div>
</div>
<a id="ae07cddad85e41611bd454f8026de31a6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">cv::Mat ORB_SLAM2::Sim3Solver::iterate </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nIterations</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool &amp;&#160;</td>
          <td class="paramname"><em>bNoMore</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; bool &gt; &amp;&#160;</td>
          <td class="paramname"><em>vbInliers</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&#160;</td>
          <td class="paramname"><em>nInliers</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Ejecuta n iteraciones de Ransac. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nIterations</td><td>Cantidad de iteraciones a ejecutar. Termina antes si se alcanza <a class="el" href="class_o_r_b___s_l_a_m2_1_1_pn_psolver.html#a6c7c904ed5e57d7672a0884dae5f3252" title="Máxima cantidad de iteraciones permitidas para encontrar la solución. ">PnPsolver::mRansacMaxIts</a> en total. </td></tr>
    <tr><td class="paramname">bNoMore</td><td>Resultado, señal que indica que se alcanzaron las <a class="el" href="class_o_r_b___s_l_a_m2_1_1_pn_psolver.html#a6c7c904ed5e57d7672a0884dae5f3252" title="Máxima cantidad de iteraciones permitidas para encontrar la solución. ">PnPsolver::mRansacMaxIts</a> iteraciones en total. </td></tr>
    <tr><td class="paramname">vbInliers</td><td>Resultado, marca la posición de los elementos inliers encontrados. </td></tr>
    <tr><td class="paramname">nInliers</td><td>Restulado, cantidad de inliers encontrados. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pose de la relocalización, o una matriz vacía si no falla.</dd></dl>
<p>Usado sólo en <a class="el" href="class_o_r_b___s_l_a_m2_1_1_loop_closing.html#ab4fcf814eed5b5dd2aec96454561b078" title="Procesa la lista de candidatos intentando corregir su pose. ">LoopClosing::ComputeSim3</a>. También se invoca desde el método no utilizado find. </p>

</div>
</div>
<a id="af44c59a21d53b04ec7f867b8291dcf25"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ORB_SLAM2::Sim3Solver::Project </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; cv::Mat &gt; &amp;&#160;</td>
          <td class="paramname"><em>vP3Dw</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; cv::Mat &gt; &amp;&#160;</td>
          <td class="paramname"><em>vP2D</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">cv::Mat&#160;</td>
          <td class="paramname"><em>Tcw</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">cv::Mat&#160;</td>
          <td class="paramname"><em>K</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Proyecta puntos 3D expresados en coordenadas del mundo, sobre una cámara. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">vP3Dw</td><td>Puntos 3D a proyectar. </td></tr>
    <tr><td class="paramname">vP2D</td><td>Resultado, proyecciones 2D de los puntos 3D. </td></tr>
    <tr><td class="paramname">Tcw</td><td>Pose de la cámara respecto del mundo. </td></tr>
    <tr><td class="paramname">K</td><td>Matriz intrínseca de la cámara.</td></tr>
  </table>
  </dd>
</dl>
<p>Utilizado sólo en <a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html#a7abb9ede799e916a5c5954c2c8da09c7" title="Establece las marcas de inliers, reproyectando y comparando el error con un umbral. ">Sim3Solver::CheckInliers</a>. </p>

</div>
</div>
<a id="ab90d591f1b9eac3d846efd35c2c04920"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ORB_SLAM2::Sim3Solver::SetRansacParameters </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>probability</em> = <code>0.99</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>minInliers</em> = <code>6</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>maxIterations</em> = <code>300</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Configuración de Ransac. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">probability</td><td></td></tr>
    <tr><td class="paramname">minInliers</td><td>Mínima cantidad de inliers para considerar exitora una iteración. </td></tr>
    <tr><td class="paramname">maxIterations</td><td>Máxima cantidad de iteraciones, luego de las cuales aborta. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a69cf052880d6e926e11b74e1b59a05e0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">cv::Mat ORB_SLAM2::Sim3Solver::mBestRotation</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ab10aee88f18c5a5b80aabb5c21a6489c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float ORB_SLAM2::Sim3Solver::mBestScale</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="adb1eeb9e1774d656c4e8c77f5fc57539"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">cv::Mat ORB_SLAM2::Sim3Solver::mBestT12</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a9aca06ce2678d686a318266fe3262a0b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">cv::Mat ORB_SLAM2::Sim3Solver::mBestTranslation</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a39aa9674bb73b257e0d834cbec52acce"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ORB_SLAM2::Sim3Solver::mbFixScale</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="af802b30069d1bf8d7c6236a695525a10"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">cv::Mat ORB_SLAM2::Sim3Solver::mK1</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ae647640668c16a2716db73a43c812e7a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">cv::Mat ORB_SLAM2::Sim3Solver::mK2</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a366db3149066adadf76fa4f4ecb39d50"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int ORB_SLAM2::Sim3Solver::mN1</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="af19a65050bd50bcf65f7cf48683c8045"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int ORB_SLAM2::Sim3Solver::mnBestInliers</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="abc2d59150f4f6f446032cdb6bb77ee43"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int ORB_SLAM2::Sim3Solver::mnInliersi</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a2fc877cd37c96ad164bbf36f2a6cd5e9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int ORB_SLAM2::Sim3Solver::mnIterations</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a719501a8d39a83a81a67d7334704f42c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_key_frame.html">KeyFrame</a>* ORB_SLAM2::Sim3Solver::mpKF1</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="abc8fbea249fc4397c901694b7ecbe2bf"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_key_frame.html">KeyFrame</a>* ORB_SLAM2::Sim3Solver::mpKF2</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="afc5eba1e475226a4ab7f0d0de8fc6e48"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">cv::Mat ORB_SLAM2::Sim3Solver::mR12i</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a98e30ee1a61e81e3f864b41e56eed0f6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int ORB_SLAM2::Sim3Solver::mRansacMaxIts</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a67cd1b0b3d88691f85776f85aed0c496"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int ORB_SLAM2::Sim3Solver::mRansacMinInliers</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="aba7cc52c8995b747eda6fbdb02e719b9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double ORB_SLAM2::Sim3Solver::mRansacProb</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a6ba87aac963290a1b18172573890a50a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float ORB_SLAM2::Sim3Solver::ms12i</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a9ea7da2fe7cb33526dc3fd60b556cde8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float ORB_SLAM2::Sim3Solver::mSigma2</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a7747196dceb3ef3d2dc341e7aff798aa"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">cv::Mat ORB_SLAM2::Sim3Solver::mt12i</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a299a04a059df22bd4b7938a4ade791c3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">cv::Mat ORB_SLAM2::Sim3Solver::mT12i</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="add3bff26c47ec9d454ea3efe92630e77"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">cv::Mat ORB_SLAM2::Sim3Solver::mT21i</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ad3d4d9b7d09902e156178987d5898625"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float ORB_SLAM2::Sim3Solver::mTh</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="abcc39b417f6d09e436d39712fb2a2b11"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;size_t&gt; ORB_SLAM2::Sim3Solver::mvAllIndices</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ac2f1c6a9abd3fef76f18ab0e9665e2ea"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;bool&gt; ORB_SLAM2::Sim3Solver::mvbBestInliers</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a0c909819990b1b62edc9aba6c7e7d94f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;bool&gt; ORB_SLAM2::Sim3Solver::mvbInliersi</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a81ad716802ccd2a3761882a796a0205d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;size_t&gt; ORB_SLAM2::Sim3Solver::mvnIndices1</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a5f739ba98d0da8c39c04e9396a697443"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;size_t&gt; ORB_SLAM2::Sim3Solver::mvnMaxError1</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a26ca815b24366cf32e9ce065be4ab8a7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;size_t&gt; ORB_SLAM2::Sim3Solver::mvnMaxError2</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="af39b00b7b87b0d240503884a927e5f5b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;cv::Mat&gt; ORB_SLAM2::Sim3Solver::mvP1im1</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a8e6a6be273522fdeeecd9fd7d3c07b9c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;cv::Mat&gt; ORB_SLAM2::Sim3Solver::mvP2im2</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="af4ea0c3fb99c1db31b40d4f0f0bcc749"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;<a class="el" href="class_o_r_b___s_l_a_m2_1_1_map_point.html">MapPoint</a>*&gt; ORB_SLAM2::Sim3Solver::mvpMapPoints1</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a752181b1c6efe5cc79b0204af7edf44b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;<a class="el" href="class_o_r_b___s_l_a_m2_1_1_map_point.html">MapPoint</a>*&gt; ORB_SLAM2::Sim3Solver::mvpMapPoints2</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="aa86f37922ef6499404aadc3b0a2526c7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;<a class="el" href="class_o_r_b___s_l_a_m2_1_1_map_point.html">MapPoint</a>*&gt; ORB_SLAM2::Sim3Solver::mvpMatches12</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="af44092ee71f95ec084db6b0144bbfc40"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;size_t&gt; ORB_SLAM2::Sim3Solver::mvSigmaSquare1</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="afd96d2f2d32f1cda0e709c5b704f1f7b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;size_t&gt; ORB_SLAM2::Sim3Solver::mvSigmaSquare2</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a9674b6ca24874c387ebd38b9f1a4560a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;cv::Mat&gt; ORB_SLAM2::Sim3Solver::mvX3Dc1</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="afa91dd6da039c45e15d7713eae0c60b7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;cv::Mat&gt; ORB_SLAM2::Sim3Solver::mvX3Dc2</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a8081f9438c71d5cdf9fc2aacf985136c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int ORB_SLAM2::Sim3Solver::N</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>/home/alejandro/Desarrollo eclipse/os1/include/<a class="el" href="_sim3_solver_8h_source.html">Sim3Solver.h</a></li>
<li>/home/alejandro/Desarrollo eclipse/os1/src/<a class="el" href="_sim3_solver_8cc.html">Sim3Solver.cc</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespace_o_r_b___s_l_a_m2.html">ORB_SLAM2</a></li><li class="navelem"><a class="el" href="class_o_r_b___s_l_a_m2_1_1_sim3_solver.html">Sim3Solver</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.12 </li>
  </ul>
</div>
</body>
</html>
